package com.xms.dependency.service;

import com.xms.core.exception.XmsException;

import java.sql.SQLException;
import java.util.Collection;
import java.util.UUID;

/**
 * <p>
 * IDependencyBatchBuilder
 * </p>
 *
 * @author migo
 * @since 2021/10/23
 */
public interface IDependencyBatchBuilder {
    IDependencyBatchBuilder append(int dependentComponentType, UUID dependentObjectId, int requiredComponentType, UUID requiredObjectId);

    IDependencyBatchBuilder append(String dependentComponentName, UUID dependentObjectId, String requiredComponentName, UUID requiredObjectId);

    IDependencyBatchBuilder append(int dependentComponentType, UUID dependentObjectId, int requiredComponentType, Collection<UUID> requiredObjectId);

    IDependencyBatchBuilder append(String dependentComponentName, UUID dependentObjectId, String requiredComponentName, Collection<UUID> requiredObjectId);

    void clear();

    boolean save() throws XmsException, SQLException;
}
